package com.minglv.mini.mapper;

import com.minglv.mini.domain.Activity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface ActivityMapper {

    /**
     * 获得活动列表
     * @param active_status
     * @return
     */
    List<Map> getList(@Param("active_status") Integer active_status);

    /**
     * 首页推荐活动列表
     * @param isIndex
     * @return
     */
    List<Map> getIndexList(@Param("isIndex") Integer isIndex);

    List<Map> getListbyUserId(@Param("status") Integer status,@Param("userId") Long userId);



    /**
     * 获得活动详情
     * @param active_id
     * @return
     */
    Map<String, Object> getActivityInfo(@Param("active_id") Integer active_id);

    /**
     * 获得详情Apply
     * @param active_id
     * @return
     */
    List<Map> getActivityApply(@Param("active_id") Integer active_id);

    /**
     *
     * @param itemid
     * @param userId
     * @return
     */
    List<Map> getUserFavorites(@Param("type") Integer type, @Param("itemId") Integer itemid, @Param("userId") Long userId);



    /**
     * 查询【请填写功能名称】
     *
     * @param id 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    public Activity selectActivityById(Long id);

    /**
     * 查询【请填写功能名称】列表
     *
     * @param activity 【请填写功能名称】
     * @return 【请填写功能名称】集合
     */
    public List<Activity> selectActivityList(Activity activity);

    /**
     * 新增【请填写功能名称】
     *
     * @param activity 【请填写功能名称】
     * @return 结果
     */
    public int insertActivity(Activity activity);

    /**
     * 修改【请填写功能名称】
     *
     * @param activity 【请填写功能名称】
     * @return 结果
     */
    public int updateActivity(Activity activity);

    /**
     * 删除【请填写功能名称】
     *
     * @param id 【请填写功能名称】主键
     * @return 结果
     */
    public int deleteActivityById(Long id);

    /**
     * 批量删除【请填写功能名称】
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteActivityByIds(Long[] ids);

    public Long getMaxId();



}
